This invention relates generally to computerized help systems and, more particularly, to computerized help systems for personal computer application programs.
Personal computer systems have become ubiquitous in both the office and the home because they are powerful and flexible general purpose machines capable of running (xe2x80x9cexecutingxe2x80x9d) a wide variety of application programs. These application programs can range from the simple to the exceedingly complex. Commonly used application programs are word processors, spreadsheets, calendars, database programs, and Internet Web browsers, among others.
The level of sophistication of personal computer users varies considerably from that of a complete novice to the expert or xe2x80x9cguru.xe2x80x9d However, all users tend to, at some time or another, need some help or assistance in using an application program. This help can be derived from the application program vendor, a more knowledgeable user, a printed manual for the application program software, or by computerized (xe2x80x9con-screenxe2x80x9d) help. The on-screen help can be provided by the application program itself, a separate help program, or as on-line help from a local or remote computer system.
Most modern personal computer systems use a xe2x80x9cwindowingxe2x80x9d type protocol wherein displays created by application programs are created within one or more windows on the screen of the computer. The windows can range in size from the entire display screen to a small area on the display screen. Typically, these windows are xe2x80x9cframedxe2x80x9d such that the images within the window are more easily distinguishable from other images on the computer screen. The windows may be provided by the operating system (such as the Microsoft Windows operating systems, the Macintosh operating systems, or Unix operating systems), or may be provided by programs running on the computer system, such as the Java Virtual Machine (JVM).
Windowing systems are often referred to as xe2x80x9cmodalxe2x80x9d systems in that only one window at a time is available for user input. To operate a windowing system in anything other than a modal fashion would create considerable confusion in that a user would not know which window of the various windows displayed on the screen is currently active.
Most on-screen help systems are modal-type help systems in that they are provided in their own help window which is separate from the window being used by the application program from which help was requested. The problem with these modal help systems is that they require a certain level of knowledge and sophistication by a user. That is, a user has to know how to open the help window, navigate through the help system, and then close the help window. While these are not difficult tasks, it has been found to be one which eludes novice and occasional users of personal computers.
Because of the difficulties encountered with modal on-screen help systems, a few non-modal help systems have been developed. One example of a non-modal on-screen help system is xe2x80x9cballoon helpxe2x80x9d available in some later versions of the Macintosh operating system available from Apple Computer, Inc. With balloon help, the Macintosh operating system displays a small balloon enclosing textual information concerning an object that has been engaged with the on-screen cursor (xe2x80x9cpointerxe2x80x9d) for a predetermined period of time. In general, balloon help is only available at the system or xe2x80x9cfinderxe2x80x9d level of the Macintosh operating system, unless it has been specifically programmed into application programs.
Many users of Macintosh computer systems end up turning off balloon help because the information that it provides does not offset the sometimes annoying characteristics of balloon help. One of these annoying characteristics is that balloon help tends to pop up as the cursor is moved over objects on the screen whether help was needed or not. Another deficiency is that the balloons are placed by software (typically the operating system itself), sometimes resulting in other objects on the screen being obscured.
Microsoft Windows Operating Systems, such as Windows 95, Windows 98, and Windows NT, provide a non-modal type of help known as xe2x80x9ctool tipsxe2x80x9d that is somewhat similar to that of balloon help. Microsoft tool tips are primarily application-based in that they evolved from the Microsoft Excel for Windows 3.1 Application Program. More particularly, tool tips are primarily tied to the tool bar of an application program, although it is sometimes also used in a status bar of the application program. To use tool tips, the cursor is held over a button on the tool bar without activating the button, and a small yellow box will appear on the screen having a one-line explanation as to the function of that button. Since tool tips are pretty much restricted to use on the tool bar and, sometimes, the status bar, it tends to be less obtrusive than the Macintosh balloon help.
While the balloon help of Macintosh Computer Systems and the tool tips provided on Microsoft Windows computer systems can provide useful non-modal help, they tend to be quite limited in nature and, under some circumstances, can actually promote confusion in the user. This is due, in part, to the fact that both balloon help and tool tips adopt a object/verb mode for providing help wherein an object is selected and then actions that can be taken with respect to that object are listed. This object/verb paradigm is exemplified by a modal-type help that is also provided under the Windows Operating System. That is, a right mouse button click will result in a xe2x80x9cpop-upxe2x80x9d window on the screen of the computer operating under Microsoft Windows Operating System, and will provide a list of every action that can be performed on the selected object on the screen. Unfortunately, using an object/verb mode for communicating help ignores the context within which the help is requested. For example, tool tips will provide help for buttons on a toolbar that are not currently active.
Another problem with the object/verb paradigm is that an object needs to be selected before its function is displayed. Therefore, if the user does not know that a particular object has a function in a particular context, he will not know that he should activate, for example, balloon help or tool tips, and thus will not receive the desired assistance.
The present invention provides non-modal help which uses a verb/object paradigm. That is, the current context of the application program for which the user needs help is determined, and a help screen is provided which shows all of the actions that can be taken from that context. Unlike an object/verb paradigm, actions that cannot be taken within that context will not be listed, and no possible actions will be missed by the user.
Briefly, a computerized non-modal help system includes a display screen providing a window for a number of output displays of an application program, a collection of pre-defined images mapped to the output displays by their context, a user input device for initiating non-modal help, and a non-modal displayer which displays one of the predefined images within the window in the place of its contextually-related output display. Preferably, the predefined images are stored as static bit map images including a dithered representation of the context in which the help was requested and a number of help balloons strategically positioned on the dithered image. Even more preferably, the balloons are positioned manually by a graphic artist to maximize their placement on the dithered image. By providing a balloon to described the functionality of every (or most) of the active elements, a user is provided with a quick framework or xe2x80x9cskeletonxe2x80x9d view of the meaning and operation of the various elements in the display.
In a preferred embodiment of the present invention, the screen and the user input device form a part of a client computer system. The help system can further include a server computer system coupled to the client computer system, such as by a TCP/IP network. Common forms of TCP/IP networks are referred to as Intranets and the Internet. In this embodiment, the client computer system supports a browser process, and the server computer system supports a server process. The computerized processes running on the client computer system comprise Applets that are delivered from the server computer system to the client computer system via the network. However, once the Applets are running on the client computer system, they communicate directly with the server processes through, for example, sockets in a Java-based system.
In another aspect of the present invention, a computerized help system includes a display screen providing a process window for a number of output displays of a computerized process, a user input device for initiating non-modal and modal help, non-modal help for displaying help within the process window and response to a request for non-modal help by the user, and modal help for displaying help within a help window in response to a request for modal help by the user. Preferably, the user input device is a pointer mechanism wherein the modal help is initiated by a help button displayed on the screen. The non-modal help is preferably initiated by a pointer positioned within a predetermined distance of the help button by the pointer mechanism under the control of the user. The non-modal help preferably includes a collection of pre-defined bitmap images contextually related to the output displays, where each bitmap image includes a non-literal representation of its related output display and textual help within the representation.
A method for providing non-modal help in accordance with the present invention includes the operations of detecting a user request for non-modal help with respect to a dynamic application display, determining a context of the dynamic application display, retrieving a static image contextually related to the dynamic application display, where the static image includes a non-literal representation of the dynamic application display and textual help within the representation, and displaying the static image in the place of the dynamic application display.
An advantage of the present invention is that non-modal help is provided which operates on a verb/object paradigm rather than the object/verb paradigm of the prior art. The non-modal help is therefore very useful, even for novice or very occasional personal computer users in that it presents in a straightforward fashion the majority, if not all, of the options available to a user within the context of the application program.
The present invention is also advantageous in that it cleanly ties together both non-modal and modal help by using the approach of a cursor to a modal help button as the indication that non-modal help should be provided to the user. That is, a user can enter non-modal help by simply moving a cursor to within a predetermined distance of the modal help button, and can return to the application program by moving the cursor back to the display of the application program.
These and other advantages of the present invention will become apparent to those skilled in the art upon a reading of the following descriptions of the invention and a study of the several figures of the drawing.